1. Field of the Invention
The present invention relates to a system and method of detecting and responding to undesired user actions in an online community. In particular, although not exclusively, an algorithm compares the time elapsed between a user's actions to the time a human normally takes to conduct the same actions, and responds in an increasingly severe manner when the time elapsed is abnormally fast.
2. Description of the Related Art
Users who wish to exploit an online community for their own benefit often use software, frequently referred to as “scripts” or “bots,” to increase their activity rate. These bots can allow a user to create comments within every topic in the community, apply ratings to all comments, or send personal messages direct to every user, all in a matter of seconds. Bots rarely serve a legitimate purpose in a community, but are employed instead for undesirable uses; they can also overwhelm an administrator (a person with authority over the community), who could manually detect and counter objectionable activity when performed at a slower speed. It has therefore long been desirable to curtail the use of bots, particularly in an automated fashion which can match the speed of the bots.
One existing system of curtailing bots is a CAPTCHA (“Completely Automated Public Turing test to tell Computers and Humans Apart”), which generates a challenge question of some sort which must be answered before allowing a comment, or post, to be added to the community. These questions are designed to be simple for a human to answer, but confusing to a computer, thus preventing a bot from accomplishing its task. A common CAPTCHA system presents a visually distorted image of a word, which the user must type back correctly. This solution, however, delays the comments of all users, not just malicious users or even suspected malicious users, and can be unnecessarily aggravating as a result. For this reason, CAPTCHAs are almost never employed for speedy user activity such as the rating of comments, where the delay can more than triple the time it takes to accomplish the task. Also, certain users may be confused by the questions and thus be mistaken for a bot, blocking honest activity; for instance, a visually-challenged user may be stymied by a visually distorted image CAPTCHA.
If a user can only make comments or engage in other activity after identifying him or herself in some way (for instance, via registration for a user account, or via the logging of an IP address or MAC address), an additional solution presents itself. Because a primary advantage of a bot is its ability to increase the speed by which a user can comment (or take other actions), a system might detect bots by watching for a single party making a second comment “too quickly” after a first comment. These systems then block the second comment. However, this is difficult to apply to other actions such as ratings, which are already performed quickly and for which it is difficult to judge what interval is “too quick.”
Additionally, both prior art solutions respond solely by preventing the comment creation or other activity from occurring, and perhaps preventing further activity for a designated period. Without direct human intervention, the prior art solutions deliver the same response to both an honest user acting in error for the first time and a bot that has been acting against the community for months.
It is therefore desirable to develop a system that can consider not only comments but also other community activity in the automatic detection of bots.
It is additionally desirable to develop a system that can react in a stronger manner the more often a user engages in bot-like activity.
It is additionally desirable to develop a system that can respond flexibly to possible bot activity without losing the speed of automatic detection.